Denotational Semantics of Handel-C Cores
نویسندگان
چکیده
We present a denotational semantics for a fully functional subset of the Handel-C hardware compilation language [9], based on the concept of typed assertion traces. We motivate the choice of semantic domains by illustrating the complexities of the behaviour of the language, paying particular attention to the prialt (priority-alternation) construct of Handel-C. We then define the typed assertion traces over an abstract notion of events, which we then instantiate as statetransformers. The denotational semantics is then given and some examples are discussed.
منابع مشابه
A "Hardware Compiler" Semantics for Handel-C
We present a denotational semantics for the hardware compilation language Handel-C that maps language constructs to a set of equations, which describe the structure of the resulting hardware. This semantics is then shown to be useful for validating various algebraic laws which should hold for Handel-C programs, as well as exposing a key principle which governs how such hardware should be operated.
متن کاملTesting Formal Semantics with QuickCheck
We describe the use of the Haskell testing package QuickCheck to aid in the debugging of the operational and denotational semantics of a hardware compilation language called Handel-C.
متن کاملAn Operational Semantics for Handel-C
We describe an operational semantics for the hardware compilation language HandelC [10], which is a C-like language with channel communication and parallel constructs which compile down to mainly synchronously clocked hardware. The work in this paper builds on previous work describing the semantics of priority within Handel-C [9] and a denotational semantics for part of the language [8]. We des...
متن کاملSemantic domains for Handel-C
Handel-C is a programming language which is a hybrid of CSP and C, designed to target hardware implementations, specifically field-programmable gate arrays (FPGAs). The language is C-like with CSP-like parallel constructs and channel communication added. All assignments and channel communication events take one clock cycle while all expression and conditional evaluations are deemed to be instan...
متن کاملA verified compiler for Handel-C
The recent popularity of Field Programmable Gate Array (FPGA) technology has made the synthesis of Hardware Description Language (HDL) programs into FPGAs a very attractive topic for research. In particular, the correctness in the synthesis of an FPGA programming file from a source HDL program has gained significant relevance in the context of safety or mission-critical systems. The results pre...
متن کامل